package io.gbznt.modules.buss.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.gbznt.modules.buss.constatnt.FarmlandStatusEnum;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * 田块管理
 * 
 * @author gbznt
 * @email http://www.gbznt.com/
 * @date 2019-04-24 16:20:48
 */
@Data
@TableName("buss_farmland_info")
public class BussFarmlandInfoEntity implements Serializable {
	private static final long serialVersionUID = 1L;

	/**
	 * 主键
	 */
	@TableId
	private String id;
	/**
	 * 农作物
	 */
	private String cropDict;
	/**
	 * 农田区域id
	 */
	private String farmlandAreaId;
	/**
	 * 责任人id
	 */
	private String handler;
	/**
	 * 部门（基地）id
	 */
	private String deptId;
	/**
	 * 名称
	 */
	private String name;
	/**
	 * 位置
	 */
	private String position;
	/**
	 * 经纬度（经度,纬度）
	 */
	private String latLng;
	/**
	 * 轮廓图片
	 */
	private String outlineImg;
	/**
	 * 现场图片
	 */
	private String liveImg;
	/**
	 * 农田状态 0:荒废 1：种植中
	 */
	private Integer status;
	/**
	 * 排序编号
	 */
	private Integer orderNum;
	/**
	 * 经纬度范围json（描绘区域）
	 */
	private String latLngArea;

	/**
	 * 所属基地名称
	 */
	@TableField(exist = false)
	private String farmlandAreaName;
	/**
	 * 农作物名称
	 */
	@TableField(exist = false)
	private String cropDictName;
	/**
	 * 责任人名称
	 */
	@TableField(exist = false)
	private String handlerName;
	/**
	 * 田块下的摄像头
	 */
	@TableField(exist = false)
	private List<BussCameraInfoEntity> bussCameraInfoEntityList;
	/**
	 * 田块下的RTU
	 */
	@TableField(exist = false)
	private List<BussRtuInfoEntity> bussRtuInfoEntityList;

	/**
	 * 创建人id
	 */
	private String createId;
	/**
	 * 创建用户姓名
	 */
	private String createName;
	/**
	 * 创建时间
	 */
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	private Date createTime;
	/**
	 * 修改人id
	 */
	private String updateId;
	/**
	 * 修改时间
	 */
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	private Date updateTime;
	/**
	 * 修改用户姓名
	 */
	private String updateName;
	/**
	 * 版本号
	 */
	@Version
	private Integer version;
	/**
	 * 删除标识 -1：删除 0：正常
	 */
	@TableLogic
	private Integer gcFlag;
	/**
	 * 设备下是否有rtu
	 */
	@TableField(exist = false)
	private Integer ynRtu;

	/**
	 * @description 获取农田状态描述
	 * @author guoqiang
	 * @email rd_guoqiang@139.com
	 * @date 2019-04-25
	 * @params * @param
	 * @return java.lang.String
	 */
	public String getFarmlandStatusDesc() {
		if (null != status) {
			return FarmlandStatusEnum.getByValue(status).getDescription();
		}
		return "";
	}

}
